/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package org.emmanuel.modelo.ejb;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.Resource;
import javax.ejb.Stateless;
import javax.sql.DataSource;
import org.apache.log4j.Logger;
import org.emmanuel.modelo.dto.PeliculaDTO;

/**
 *
 * @author Emmanuel
 */
@Stateless
public class BusquedaBean {
    @Resource(name = "dataSource")
    private DataSource dataSource;
    
    private static final Logger logger = Logger.getLogger(BusquedaBean.class);
    
    // Add business logic below. (Right-click in editor and choose
    // "Insert Code > Add Business Method")


    public java.util.List<org.emmanuel.modelo.dto.PeliculaDTO> buscarPeliculasPorNombreLike(String nombreLike) {
        
       Connection conn = null;
       PreparedStatement psta = null;
       List<PeliculaDTO> respuesta = new ArrayList<PeliculaDTO>(0);
        
        
        try {
            
            conn = dataSource.getConnection();
            
            psta = conn.prepareStatement(PeliculaDTO.getSELECT_LIKE_NOMBRES());  
            
            psta.setString(1, "%"+nombreLike+"%");
            
            ResultSet rset = psta.executeQuery();
            
            
            while(rset.next()){
            
                PeliculaDTO dto = new PeliculaDTO();
                
                Integer id_pelicula = rset.getInt("id_pelicula");
                dto.setId(id_pelicula);
                String nombre_pelicula = rset.getString("nombre_pelicula");
                dto.setnombre_pelicula(nombre_pelicula);
                String actor_principal = rset.getString("actor_principal");
                dto.setactor_principal(actor_principal);
                String director_pelicula = rset.getString("director_pelicula");
                dto.setdirector_pelicula(director_pelicula);
                String genero_pelicula = rset.getString("genero_pelicula");
                dto.setgenero_pelicula(genero_pelicula);
                String duracion_pelicula = rset.getString("duracion_pelicula");
                dto.setduracion_pelicula(duracion_pelicula);
             
                respuesta.add(dto);
            }
            
                rset.close();
                psta.close();
            
        } catch (Exception e) {
            logger.error("Error al buscar pelicula" , e); 
        }finally{
            try {
        if (conn!=null){
        conn.close();
        } 
            }catch (Exception ex){
            
                logger.error("Error al cerrar la conexcion", ex);
                
            }
        }
        
        return respuesta;
    }

    
    
}
